Micron Document




JavaScript
part 28/42 · 71.4 KB total
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
La portée lexicale d'une variable est la partie d'un programme où la liaison entre son identifiant et sa donnée est valide. En JavaScript, la portée lexicale d'une variable peut être de deux types, selon le mot-clé utilisé pour la déclarer :

var : au niveau de la fonction (ou de l'espace global) où elle est déclarée (comme en Python, Ruby) ;
let ou const (introduits dans ECMAScript 6) : au niveau du bloc où elle est déclarée (comme en C++, Java, C#) — une fonction étant un bloc particulier.

Depuis le support de let par les navigateurs modernes, var ne doit plus être utilisé et son utilisation est considéré comme une mauvaise pratiquecite-ref-29[29].

// 1. Déclaration dans un bloc
if (true) { // début du bloc
var maVariable1; // déclaration de la variable
let maVariable2; // déclaration de la variable
const maVariable3; // déclaration de la variable
} // fin du bloc mais pas de la portée de maVariable1
alert(maVariable1); // ne soulève pas d'erreur
alert(maVariable2); // erreur : la variable est hors de sa portée
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────